home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Contributed Scores / Peter Stone Punctus / Final < prev    next >
Text File  |  1998-10-26  |  12KB  |  378 lines

  1. ; Here is some pseudo-classic from my archives back from 1990. It requires 
  2. ; good-quality string samples. Bass is supposed to be finger-played contrabass, 
  3. ; other instruments should be strings, also the topdown and goupp can be strings
  4. ; although I originally used something more percussive and thinner sounding
  5. ; instruments. A piano should be used for playing the piano parts. I'll leave
  6. ; it for your experimentations to restore the quantum stuff. It consists of
  7. ; 8 instruments, each playing rapidly random chromatic notes, each in a 
  8. ; different octave. It used here very old symbol mechanism which did not port
  9. ; directly like the other stuff.
  10.  
  11. ; ------ chord definition
  12.  
  13. (setq event '((c 3 f 3 g# 3) (c 3 f 3 a 3)))
  14.  
  15. (setq begin 
  16.    (append
  17.       (transpose-chords event 0)
  18.       (transpose-chords event 5)
  19.       (transpose-chords event 10)
  20.       (transpose-chords event 15)
  21.       (transpose-chords event 20)
  22.       (transpose-chords event 25)
  23.       (transpose-chords event 30)
  24.       (transpose-chords event 35)
  25.   )
  26. )
  27.  
  28. (setq door (transpose-chords '((c 3 f 3 a 3)) (plus 35 -24)))
  29.       
  30. (setq cathedral
  31.    (append
  32.       (transpose-chords event 0)   ;  dimi construction
  33.       (transpose-chords event 5)   ;
  34.       (transpose-chords event 10)  ;
  35.       (transpose-chords event 3)     ;
  36.       (transpose-chords event 8)     ;
  37.       (transpose-chords event 13)    ;
  38.       (transpose-chords event 6)       ;
  39.       (transpose-chords event 11)      ;
  40.       (transpose-chords event 16)      ; 
  41.       (transpose-chords event 9)         ;
  42.       (transpose-chords event 14)        ;
  43.       (transpose-chords event 19)        ;
  44.    )
  45. )
  46.  
  47. (setq logic
  48.    (append
  49.       (transpose-chords event (plus 19 5))
  50.       (transpose-chords event (plus 19 10))
  51.       (transpose-chords event (plus 19 10 -7))
  52.       (transpose-chords event (plus 19 10 -7 5))
  53.       (transpose-chords event (plus 19 10 -7 10))
  54.       (transpose-chords event (plus 19 10 -7 10 -7))
  55.       (transpose-chords event (plus 19 10 -7 10 -7 5))
  56.       (transpose-chords event (plus 19 10 -7 10 -7 10))
  57.    )
  58. )
  59.  
  60. (setq segments
  61.    (append
  62.       begin
  63.       door
  64.       cathedral
  65.       logic
  66.    )
  67. )
  68.  
  69. (setq dimievent '((c 6 d# 6 f# 6 a 6)))
  70. (setq dimichord
  71.    (append
  72.       dimievent
  73.       (transpose-chords dimievent 3)
  74.       (transpose-chords dimievent 6)
  75.       (transpose-chords dimievent 9)
  76.    )
  77. )
  78.  
  79. ; ----- quantum area
  80. ;
  81. ;(defun random-octave-symbol (n)
  82. ;   (compress2 (list ': (symbol-transpose 'a (times n 12))
  83. ;                       (symbol-transpose 'a (plus 11 (times n 12))))))
  84. ;
  85. ;(setq q1 (list (random-octave-symbol 0)))
  86. ;(setq q2 (list (random-octave-symbol 1)))
  87. ;(setq q3 (list (random-octave-symbol 2)))
  88. ;(setq q4 (list (random-octave-symbol 3)))
  89. ;(setq q5 (list (random-octave-symbol 4)))
  90. ;(setq q6 (list (random-octave-symbol 5)))
  91. ;(setq q7 (list (random-octave-symbol 6)))
  92. ;(setq q8 (list (random-octave-symbol 7)))
  93. ;
  94. ;(setq quantum-string (repeat-string "-" (times 24 8)))
  95.  
  96. ; --1(- bass strings for begin
  97.  
  98. (setq chromatic (activate-tonality (chromatic c 4)))
  99. (setq chromatic0 (transpose-chords chromatic -12))
  100.  
  101. (setq downseq '(u t s r  q p o n  m l k j  i h g f))
  102.  
  103. (setq b2mel
  104.    (append
  105.        '(u t s r   q p o n)
  106.         (symbol-transpose 12 '(m l k j   i h g f))
  107.    )
  108. )
  109.  
  110. (setq b3mel
  111.    (append
  112.       '(u t s r)
  113.       (symbol-transpose 12 '(q p o n))
  114.       (symbol-transpose 24 '(m l k j))
  115.       (symbol-transpose 36 '(i h g f))
  116.    )
  117. )
  118.  
  119. (defun repeat-string (s n)
  120.   (let ((out s))
  121.     (dotimes (i (1- n))
  122.       (setq out (str-cat out s)))
  123.     out))
  124.  
  125. (setq bass-string2 (repeat-string "-               " 4))
  126. (setq bass-strings (repeat-string "-               " 16))
  127.  
  128. ; ----- crypta melodies
  129.  
  130. (initdef)
  131. (defsym a '(a b c))
  132. (defsym b '(c a))
  133.  
  134. (setq crypta1 (symbol-trim 16 (gen-trans a 4)))
  135. (setq crypta2 (symbol-inversion 'd crypta1))
  136.  
  137. (setq crypta1
  138.    (append
  139.       (symbol-transpose 0 crypta1)
  140.       (symbol-transpose 3 crypta1)
  141.       crypta1
  142.       (symbol-transpose -3 crypta1)
  143.    )
  144. )
  145.  
  146. (setq crypta2
  147.    (append
  148.       (symbol-transpose 0 crypta2)
  149.       (symbol-transpose -3 crypta2)
  150.       crypta2
  151.       (symbol-transpose 3 crypta2)
  152.    )
  153. )
  154.  
  155. ; ----- cryptab
  156.  
  157. (setq cryptab1 (symbol-trim 16 (gen-trans b 5)))
  158. (setq cryptab2 (symbol-inversion 'd cryptab1))
  159.  
  160. (setq cryptab1
  161.    (append
  162.       (symbol-transpose 0 cryptab1)
  163.       (symbol-transpose 3 cryptab1)
  164.       cryptab1
  165.       (symbol-transpose -3 cryptab1)
  166.    )
  167. )
  168.  
  169. (setq cryptab2
  170.    (append
  171.       (symbol-transpose 0 cryptab2)
  172.       (symbol-transpose -3 cryptab2)
  173.       cryptab2
  174.       (symbol-transpose 3 cryptab2)
  175.    )
  176. )
  177.  
  178. (setq crypta1 (append crypta1 cryptab1))
  179. (setq crypta2 (append crypta2 cryptab2))
  180.  
  181. ; ----- bassline rhythm
  182.  
  183. (setq bassline-string
  184.    (str-cat
  185.          (repeat-string "-  --   -  --   " 8)
  186.          (repeat-string "- - - - - - - - " 12)
  187.          (repeat-string "- --- --- --- --" 4)
  188.    )
  189. )
  190.  
  191. ; ----- crypta rhythm
  192.  
  193. (setq crypta-string (repeat-string "----------------" 4))
  194.  
  195. (setq goupp-element (symbol-transpose  0 '(a b c  d e f  g h i  j k l)))
  196.  
  197. (setq goupp-bar
  198.    (append
  199.       goupp-element
  200.       (symbol-transpose 12 goupp-element)
  201.       (symbol-transpose 24 goupp-element)
  202.       (symbol-transpose 36 goupp-element)
  203.    )
  204. )
  205.  
  206. (setq goupp-mel
  207.    (append
  208.       goupp-bar
  209.       (symbol-transpose 5 goupp-bar)
  210.       (symbol-transpose 10 goupp-bar)
  211.       (symbol-transpose 15 goupp-bar)
  212.       (symbol-transpose 20 goupp-bar)
  213.       (symbol-transpose 25 goupp-bar)
  214.       (symbol-transpose 30 goupp-bar)
  215.       (symbol-transpose 35 goupp-bar)
  216.    )
  217. )
  218.  
  219. (setq godown-bar (symbol-transpose 1 (reverse goupp-bar)))
  220.  
  221. (setq topdown-mel
  222.    (append
  223.       goupp-bar
  224.       (symbol-transpose 5 goupp-bar)
  225.       (symbol-transpose 10 goupp-bar)
  226.       (symbol-transpose 15 goupp-bar)
  227.  
  228.       (symbol-transpose 20 godown-bar)
  229.       (symbol-transpose 13 godown-bar)
  230.       (symbol-transpose 6 godown-bar)
  231.       (symbol-transpose -1 godown-bar)
  232.  
  233.       (symbol-transpose 4 goupp-bar)
  234.       (symbol-transpose 9 goupp-bar)
  235.       (symbol-transpose 14 goupp-bar)
  236.       (symbol-transpose 19 goupp-bar)
  237.  
  238.       (symbol-transpose 24 godown-bar)
  239.       (symbol-transpose 17 godown-bar)
  240.       (symbol-transpose 10 godown-bar)
  241.       (symbol-transpose 3 godown-bar)
  242.    )
  243. )
  244.  
  245. (setq topdown-string (repeat-string "-" (length topdown-mel)))
  246. (setq goupp-string (repeat-string "-" (length goupp-mel)))
  247.  
  248. ; ----- fractal piano
  249.  
  250. (initdef)
  251. (defsym a '(a b))
  252. (defsym b '(c d))
  253. (setq piano-mel (gen-trans a 7))
  254. (setq piano-string (repeat-string "-" (length piano-mel)))
  255.  
  256. (def-rhythm
  257. ;               1               2               3               4
  258. ;               |_______________|_______________|_______________|_______________|
  259. ;               |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  260. strings  '1/1   "-"                  (abc)
  261. doorchr  '1/1   "----"               (abc)
  262. string2  '1/16  "-   -   -   -   "   (abc cde bcd abc)
  263. string3  '1/1   "-"                  (abc)
  264. dimistr  '1/32  "- - - - - - - - - - - - - - - - "   (a)
  265. bass1    '1/1   "----------------"   downseq
  266. bass2    '1/1   "----------------"   b2mel
  267. bass3    '1/1   "----------------"   b3mel
  268. basstail '4/1   "----"               (f)
  269. ; --crypta1--
  270. bassline '1/16  bassline-string      (a)
  271. blc1     '1/16  crypta-string        crypta1
  272. whc1     '1/16  crypta-string        crypta2
  273. blc2     '1/16  crypta-string        crypta1
  274. whc2     '1/16  crypta-string        crypta2
  275. blc3     '1/16  crypta-string        crypta1
  276. whc3     '1/16  crypta-string        crypta2
  277. topdown  '1/16t topdown-string       topdown-mel
  278. goupp    '1/16t goupp-string         goupp-mel
  279. piano32  '1/32  piano-string         piano-mel
  280. piano16  '1/16  piano-string         piano-mel
  281. piano8   '1/8   piano-string         piano-mel
  282. ;--quantum--
  283. ;quant1   '1/32t quantum-string       q1
  284. ;quant2   '1/32t quantum-string       q2
  285. ;quant3   '1/32t quantum-string       q3
  286. ;quant4   '1/32t quantum-string       q4
  287. ;quant5   '1/32t quantum-string       q5
  288. ;quant6   '1/32t quantum-string       q6
  289. ;quant7   '1/32t quantum-string       q7
  290. ;quant8   '1/32t quantum-string       q8
  291. )
  292.  
  293.  
  294. (def-channel
  295.   strings  2 
  296.   string2  1
  297.   string3  1 
  298.   doorchr  2
  299.   dimistr  3
  300.   bass1    4
  301.   bass2    4
  302.   bass3    4
  303.   basstail 5
  304.   bassline 6
  305.   blc1 7
  306.   whc1 8
  307.   blc2 7
  308.   whc2 8
  309.   blc3 7
  310.   whc3 8
  311.   goupp 9
  312.   topdown 9
  313.   piano32 11
  314.   piano16 11
  315.   piano8 11
  316. ;quant1
  317. ;quant2
  318. ;quant3       
  319. ;quant4       
  320. ;quant5       
  321. ;quant6       
  322. ;quant7       
  323. ;quant8      
  324. )
  325.  
  326. (def-tempo 75)
  327.  
  328. (compile-song-p "ccl;output:" 1/1 "final"
  329. ;                       ----begin-------!dr-!-------cathedral-------!--logic zone---!-bubble-!-light-!
  330. ;                                     16              32              48              64              80              96              112            128  
  331. ;                      |___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.__W|___.___|___.___|___.___|
  332. master   segments      " ................   ........................"
  333. dimi     dimichord     "      .     .     . ."
  334. final    begin         "                                             ...............        ."
  335. strings  master        "----------------                            ----"
  336. string2  master        "----------------                            ----"
  337. string3  final         "                                                ----------------"
  338. doorchr  master        "                ----"
  339. dimistr  dimi          "--------------------"
  340. bass1    chromatic     "----------------                            ----------------"
  341. bass2    chromatic     "----------------                            ----------------"
  342. bass3    chromatic     "----------------                            ----------------"
  343. basstail master        "                ----"
  344. ;                       ----begin-------!dr-!-------cathedral-------!--logic zone---!-bubbl-!-light-!
  345. ;  cathedral                           16              32              48              64              80              9"              112            128
  346. ;                       |___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|___.___|
  347. ; --crypta1--
  348. bassline master        "                    --------------------"
  349. blc1     master        "                    ----            ----        "
  350. whc1     master        "                    ----    ----    ----        "
  351. blc2     master        "                      ----                      "
  352. whc2     master        "                      ----                      "
  353. blc3     master        "                        ----    ----    ----    ------------"
  354. whc3     master        "                        ----            ----    ------------"
  355. goupp    chromatic0    "                                               -----------------"
  356. topdown  chromatic0    "                            --------    "
  357. ;
  358. ; --piano--
  359. ;
  360. piano32  master        "                                        ----            ----"
  361. piano16  master        "                                      ------                "
  362. piano8   master        "                                    --------                "
  363. )
  364. ;
  365. ; --quantum--
  366. ;
  367. ;quant1  chromatic0     "                                                           ---------"
  368. ;quant2  chromatic0     "                                                          ----------"
  369. ;quant3  chromatic0     "                                                         -----------"
  370. ;quant4  chromatic0     "                                                        ------------"
  371. ;quant5  chromatic0     "                                                       -------------"
  372. ;quant6  chromatic0     "                                                      --------------"
  373. ;quant7  chromatic0     "                                                     ---------------"
  374. ;quant8  chromatic0    "                                                    ----------------"
  375. )
  376.  
  377.  
  378.